package LeetCode._01_树;

import java.util.TreeMap;

public class _236_二叉树的最近公共祖先 {
    public class TreeNode {
       int val;
       TreeNode left;
       TreeNode right;
       TreeNode(int x) { val = x; }
    }

    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
       if(root == null) return null;
       if(root == p || root == q) return root;

       TreeNode left = lowestCommonAncestor(root.left,p,q);
       TreeNode right = lowestCommonAncestor(root.right,p,q);
       if(left!=null && right !=null) return root;
       if(left == null && right == null) return null;
       return left == null ? right : left;
    }



}
